package mymyoux.io.mserveur.mcontactClasses.events
{
	import flash.events.Event;
	
	import mymyoux.events.IStaticListenable;
	import mymyoux.io.mserveur.mcontactClasses.People;
	/**
	 * MLoginsEvent est envoyé par un MLogins lors de la réception de pseudonymes associés aux clients.
	 * @author Mymyoux
	 * @version 1.0
	 * <p><b>N'est normalement pas utilisé directement.</b></p>
	 */
	public class MLoginsEvent extends Event implements IStaticListenable
	{
		/**
		 * Evenement envoyé lorsqu'un login est associé à un idx.
		 */
		public static const NEW_LOGIN:String="new_login";
		/**
		 * @private
		 */
		protected var _idx:uint;
		/**
		 * @private
		 */
		protected var _people:People;
		/**
		 * Crée un évènement de type MLoginsEvent
		 * @param type Type de l'évènement.
		 * @param people People représentant le client.
		 * @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. The default value is false.
		 * @param cancelable Determines whether the Event object can be canceled. The default values is false.
		 */
		public function MLoginsEvent(type:String,people:People,bubbles:Boolean=false,cancelable:Boolean=false)
		{
			super(type,bubbles,cancelable);
			_people=people;
		}
		/**
		 * Pseudonyme du client.
		 */
		public function get people():People
		{
			return _people
		}
		/**
		 * Idx du client.
		 */
		public function get idx():uint
		{
			return _people.idx;
		}
		/**
		 * @inheritDoc
		 */
		 public override function clone():Event
		 {
		 	return new MLoginsEvent(type,_people,bubbles,cancelable);
		 }
		/**
		 * @copy mymyoux.core.IObject#toString()
		 */
		public override function toString():String
		{
			return "[MLoginsEvent type=\""+type+"\" idx=\""+_people.idx+"\" login=\""+_people.login+"\"]";
		}
	}
}